本系列文章部分內容由AI產生,最後皆有通過人工確認內容及潤稿。
在前兩天的學習中,我們了解了人工智能(AI)、機器學習(ML)和深度學習(DL)的基本概念,以及深度學習中的一些重要組成部分。今天,我們將深入探討神經網絡的基礎,特別是感知器和多層感知器(MLP)的原理,以及激活函數和損失函數在神經網絡中的作用。
理解感知器的基本原理
掌握多層感知器的結構和工作方式
了解激活函數和損失函數在神經網絡中的作用
能夠手動計算簡單神經網絡的輸出
感知器是最基本的人工神經網絡模型,由Frank Rosenblatt在1957年提出。它是模仿生物神經元的計算模型,用於二分類任務。
一個感知器包括以下部分:
感知器的輸出計算如下:
由於單個感知器無法解決非線性可分問題,引入多層感知器以提高模型的表現力。
在MLP中,數據從輸入層經過隱藏層傳遞到輸出層,每一層的輸出成為下一層的輸入。
對於第𝑙層的神經元,其輸入和輸出計算為:
由於這邊不好打上下標,所以就以英文字母為代表
引入非線性激活函數,使得神經網絡可以擬合非線性關係。如果沒有非線性激活函數,無論網絡多深,輸出都是輸入的線性組合。
圖2 多層感知器包含輸入層、隱藏層和輸出層。
激活函數的部份我們昨天有提過,所以今天我們就簡單地複習帶過
一定要記住!!選擇沒有絕對,可以嘗試看看以最適合自己的模型為主
圖3 常見激活函數曲線
損失函數衡量模型預測值與真實值之間的差異,是訓練神經網絡的核心。通過最小化損失函數,模型可以學習到更準確的權重。
均方誤差(Mean Squared Error, MSE):常用於回歸問題。
交叉熵損失(Cross-Entropy Loss):常用於分類問題。
回歸問題: 使用MSE或MAE(平均絕對誤差)。
分類問題: 使用交叉熵損失。
將輸入數據經過網絡,計算輸出和損失。
計算損失對各層權重的梯度,使用鏈式法則。
使用優化算法(如梯度下降)更新權重:
考慮一個簡單的單隱藏層神經網絡:
Step 1:計算隱藏層輸入
Step 2:計算隱藏層輸出
使用ReLU激活函數:
Step 3:計算輸出層輸入
Step 4:計算輸出層輸出
使用Sigmoid激活函數:
今天學習,雖然計算與微積分內容很多,但我們深入了解了神經網絡的基礎知識,從感知器到多層感知器,並掌握了激活函數和損失函數在神經網絡中的作用。我們還親手計算了一個簡單神經網絡的輸出,加深了對神經網絡工作原理的理解。
那我們明天見!
圖1 來源 神經網路
圖2 來源 多層感知器與反傳遞演算法實作-使用 JavaScript+Node.js
圖3 來源 Introduction to Exponential Linear Unit